home *** CD-ROM | disk | FTP | other *** search
/ 64'er Special 4 / 64er_Magazin_Sonderheft_04_86-04_1986_Markt__Technik_de_Disk_1_of_2_Side_A.d64 / listing 08.d (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  426b  |  15 lines

  1. 30000 rem  quicksort -----------------------------------------------------------
  2. 30001 dimlg(100),rg(100):z=0:lg(1)=1:rg(1)=sz
  3. 30010 z=z+1:iflg(z)>=rg(z)then30120
  4. 30020 x=lg(z):y=rg(z)
  5. 30030 vg$=d$(int((x+y)/2))
  6. 30040 if x>y then30100
  7. 30050 if d$(x)<vg$thenx=x+1:goto30050
  8. 30060 if d$(y)>vg$theny=y-1:goto30060
  9. 30070 if x>ythen30100
  10. 30080 s$=d$(x):d$(x)=d$(y):d$(y)=s$
  11. 30090 x=x+1:y=y-1:goto30040
  12. 30100 rg(z+1)=y:lg(z+1)=lg(z):gosub30010
  13. 30110 lg(z+1)=x:rg(z+1)=rg(z):gosub30010
  14. 30120 z=z-1:return
  15.